<?php

namespace Siese\EntityBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Doctrine\ORM\EntityRepository;

class BloqueoInspeccionesType extends AbstractType
{
    
    protected $empty_value = "Seleccione una Opción";

    protected $tipo;
    
    public function __construct($tipo = null) {
      $this->tipo = $tipo;
    }


    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {  
        $tipo = $this->tipo;
       
              $builder->add('sedes','entity',array('label' => 'Sedes',
                                     'class' => 'SieseEntityBundle:CatSedes',
                                     'query_builder' => function(EntityRepository $er) use ($tipo){
                                        if($tipo == FALSE):
                                         $query = $er->createQueryBuilder('u')
                                                  ->where('u.puedeRegistrarInspecciones = :tipo')
                                                  ->setParameter('tipo', FALSE);                                        
                                        else:
                                        $query = $er->createQueryBuilder('u')
                                                  ->where('u.puedeRegistrarInspecciones = :tipo')
                                                  ->setParameter('tipo', TRUE);                                          
                                        endif;
                                        
                                        return $query;
                                     },
                                     'property' => 'nbSede',
                                     'empty_value' => $this->empty_value,
                                     'attr' => array('class' => 'form-control')));
    }
    
    public function getName()
    {
        return 'siese_bloqueo_inspecciones_form';
    }
}